package com.yxw.live_vod_boot.dto;



import com.yxw.live_vod_boot.entity.LiveShopApplyAddressPunishEntity;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
//import lombok.EqualsAndHashCode;



/*** 
*@author Jiaxu.Huang
*@date 2024/1/23 16:40:16
*@update 2024/1/23 16:40:16
**/
@Data
@ApiModel(value = "LiveShopApplyAddressPunishAddDTO" , description = "VIEWAddDTO")
//@EqualsAndHashCode(callSuper = true)
public class LiveShopApplyAddressPunishAddDTO implements Serializable
{
    private static final long serialVersionUID = 31705999216703L;
    /**
    *新增粉丝
    */
    @ApiModelProperty(value = "新增粉丝")
    private Long addedFansNumber;
    /**
    *申请id
    */
    @ApiModelProperty(value = "申请id")
    private String applyId;
    /**
    *平均观看时长
    */
    @ApiModelProperty(value = "平均观看时长")
    private Long averagWatchDuration;
    /**
    *评论数量
    */
    @ApiModelProperty(value = "评论数量")
    private Long commentNumber;
    /**
    *评论人数
    */
    @ApiModelProperty(value = "评论人数")
    private Long commentUserNumber;
    /**
    *创建时间
    */
    @ApiModelProperty(value = "创建时间")
    private java.util.Date createTime;
    /**
    *颁发人Id
    */
    @ApiModelProperty(value = "颁发人Id")
    private String createUserId;
    /**
    *主键id
    */
    @NotBlank(message = "主键id不可为空")
    @ApiModelProperty(value = "主键id")
    private String id;
    /**
    *点赞人数
    */
    @ApiModelProperty(value = "点赞人数")
    private Long likeNumber;
    /**
    *直播App名称
    */
    @ApiModelProperty(value = "直播App名称")
    private String liveAppName;
    /**
    *拉流鉴权类别(1需要鉴权,0不需要鉴权),收费直播必须开启鉴权
    */
    @ApiModelProperty(value = "拉流鉴权类别(1需要鉴权,0不需要鉴权),收费直播必须开启鉴权")
    private Integer liveAuthType;
    /**
    *直播说明
    */
    @ApiModelProperty(value = "直播说明")
    private String liveDescription;
    /**
    *直播预计结束时间
    */
    @ApiModelProperty(value = "直播预计结束时间")
    private Long liveEndTime;
    /**
    *本次直播花费视频币
    */
    @ApiModelProperty(value = "本次直播花费视频币")
    private Integer liveFees;
    /**
    *是否收费(1付费观看，0免费观看)
    */
    @ApiModelProperty(value = "是否收费(1付费观看，0免费观看)")
    private Integer liveFeesType;
    /**
    *直播间名称
    */
    @ApiModelProperty(value = "直播间名称")
    private String liveHomeName;
    /**
    *直播间默认图片
    */
    @ApiModelProperty(value = "直播间默认图片")
    private String liveHomePicture;
    /**
    *主键id
    */
    @NotBlank(message = "主键id不可为空")
    @ApiModelProperty(value = "主键id")
    private String liveId;
    /**
    *直播总订单数
    */
    @ApiModelProperty(value = "直播总订单数")
    private Integer liveOrderCount;
    /**
    *直播订单总金额
    */
    @ApiModelProperty(value = "直播订单总金额")
    private java.math.BigDecimal liveOrderTotalFee;
    /**
    *直播封面
    */
    @ApiModelProperty(value = "直播封面")
    private String livePicture;
    /**
    *
    */
    @ApiModelProperty(value = "")
    private Long liveShopId;
    /**
    *直播预计开始时间
    */
    @ApiModelProperty(value = "直播预计开始时间")
    private Long liveStartTime;
    /**
    *直播状态(0申请推流,1推流中,2推流中断,3店铺禁播,4直播结束,5直播异常)
    */
    @ApiModelProperty(value = "直播状态(0申请推流,1推流中,2推流中断,3店铺禁播,4直播结束,5直播异常)")
    private Integer liveState;
    /**
    *直播流名称(构成规则:shopid_userid_uuid)
    */
    @ApiModelProperty(value = "直播流名称(构成规则:shopid_userid_uuid)")
    private String liveStreamName;
    /**
    *直播标题
    */
    @ApiModelProperty(value = "直播标题")
    private String liveTag;
    /**
    *总时长(秒)
    */
    @ApiModelProperty(value = "总时长(秒)")
    private Integer liveTotallDuration;
    /**
    *总推流
    */
    @ApiModelProperty(value = "总推流")
    private Long liveTotallPushLength;
    /**
    *拉流地址
    */
    @ApiModelProperty(value = "拉流地址")
    private String liveUrl;
    /**
    *直播的时候是否允许用户连麦
    */
    @ApiModelProperty(value = "直播的时候是否允许用户连麦")
    private Integer liveUserPush;
    /**
    *直播预估费用
    */
    @ApiModelProperty(value = "直播预估费用")
    private Integer liveValuation;
    /**
    *是否存播(1保存,0不保存)
    */
    @ApiModelProperty(value = "是否存播(1保存,0不保存)")
    private Integer liveWillSave;
    /**
    *在线人数峰值
    */
    @ApiModelProperty(value = "在线人数峰值")
    private Long maxOnlineUserCount;
    /**
    *商户名称
    */
    @ApiModelProperty(value = "商户名称")
    private String merchantName;
    /**
    *违规ID 主键
    */
    @ApiModelProperty(value = "违规ID 主键")
    private String punishId;
    /**
    * 处罚数量
    */
    @ApiModelProperty(value = " 处罚数量")
    private Long punishQuantity;
    /**
    *处罚时间止
    */
    @ApiModelProperty(value = "处罚时间止")
    private Long punishTimeEnd;
    /**
    *处罚时间始
    */
    @ApiModelProperty(value = "处罚时间始")
    private Long punishTimeStart;
    /**
    * 处罚类别:0罚款,1直播流,2直播间
    */
    @ApiModelProperty(value = " 处罚类别:0罚款,1直播流,2直播间")
    private Long punishType;
    /**
    * 处罚单位: (处罚类别为0罚款)视频币,(处罚类别为1直播流,中断直播)分钟,(处罚类别为2直播间,禁播)天
    */
    @ApiModelProperty(value = " 处罚单位: (处罚类别为0罚款)视频币,(处罚类别为1直播流,中断直播)分钟,(处罚类别为2直播间,禁播)天")
    private String punishUnit;
    /**
    *推流鉴权串
    */
    @ApiModelProperty(value = "推流鉴权串")
    private String pushAuth;
    /**
    *结束推流服务器端时间
    */
    @ApiModelProperty(value = "结束推流服务器端时间")
    private Long pushEndServerTime;
    /**
    *客户端结束推流时间
    */
    @ApiModelProperty(value = "客户端结束推流时间")
    private Long pushEndTime;
    /**
    *开始推流服务器端时间
    */
    @ApiModelProperty(value = "开始推流服务器端时间")
    private Long pushStartServerTime;
    /**
    *客户端开始推流时间
    */
    @ApiModelProperty(value = "客户端开始推流时间")
    private Long pushStartTime;
    /**
    *推流地址
    */
    @ApiModelProperty(value = "推流地址")
    private String pushUrl;
    /**
    *店铺id
    */
    @ApiModelProperty(value = "店铺id")
    private String shopId;
    /**
    *店铺名称
    */
    @ApiModelProperty(value = "店铺名称")
    private String shopName;
    /**
    *店铺员工Id
    */
    @ApiModelProperty(value = "店铺员工Id")
    private String shopUserId;
    /**
    *店铺员工姓名
    */
    @ApiModelProperty(value = "店铺员工姓名")
    private String shopUserName;
    /**
    *更新时间
    */
    @ApiModelProperty(value = "更新时间")
    private java.util.Date updateTime;
    /**
    *违规Id
    */
    @ApiModelProperty(value = "违规Id")
    private Integer violationId;
    /**
    *违规类型名称
    */
    @ApiModelProperty(value = "违规类型名称")
    private String violationReson;
    /**
    *观看总时长
    */
    @ApiModelProperty(value = "观看总时长")
    private Long watchDuration;
    /**
    *总观看次数
    */
    @ApiModelProperty(value = "总观看次数")
    private Integer watchNumber;
    /**
    *观看总带宽
    */
    @ApiModelProperty(value = "观看总带宽")
    private Long watchStreamLength;
    /**
    *观看总人数
    */
    @ApiModelProperty(value = "观看总人数")
    private Long watchUserCount;
    /**
    *观众下单率
    */
    @ApiModelProperty(value = "观众下单率")
    private java.math.BigDecimal watchUserPayRate;
    /**
    *将DTO转换为ENTITY
    */
    public LiveShopApplyAddressPunishEntity ConverToEntity()
    {
        LiveShopApplyAddressPunishEntity oLiveShopApplyAddressPunishEntity = new LiveShopApplyAddressPunishEntity ();
        oLiveShopApplyAddressPunishEntity.setAddedFansNumber(addedFansNumber);
        oLiveShopApplyAddressPunishEntity.setApplyId(applyId);
        oLiveShopApplyAddressPunishEntity.setAveragWatchDuration(averagWatchDuration);
        oLiveShopApplyAddressPunishEntity.setCommentNumber(commentNumber);
        oLiveShopApplyAddressPunishEntity.setCommentUserNumber(commentUserNumber);
        oLiveShopApplyAddressPunishEntity.setCreateTime(createTime);
        oLiveShopApplyAddressPunishEntity.setCreateUserId(createUserId);
        oLiveShopApplyAddressPunishEntity.setId(id);
        oLiveShopApplyAddressPunishEntity.setLikeNumber(likeNumber);
        oLiveShopApplyAddressPunishEntity.setLiveAppName(liveAppName);
        oLiveShopApplyAddressPunishEntity.setLiveAuthType(liveAuthType);
        oLiveShopApplyAddressPunishEntity.setLiveDescription(liveDescription);
        oLiveShopApplyAddressPunishEntity.setLiveEndTime(liveEndTime);
        oLiveShopApplyAddressPunishEntity.setLiveFees(liveFees);
        oLiveShopApplyAddressPunishEntity.setLiveFeesType(liveFeesType);
        oLiveShopApplyAddressPunishEntity.setLiveHomeName(liveHomeName);
        oLiveShopApplyAddressPunishEntity.setLiveHomePicture(liveHomePicture);
        oLiveShopApplyAddressPunishEntity.setLiveId(liveId);
        oLiveShopApplyAddressPunishEntity.setLiveOrderCount(liveOrderCount);
        oLiveShopApplyAddressPunishEntity.setLiveOrderTotalFee(liveOrderTotalFee);
        oLiveShopApplyAddressPunishEntity.setLivePicture(livePicture);
        oLiveShopApplyAddressPunishEntity.setLiveShopId(liveShopId);
        oLiveShopApplyAddressPunishEntity.setLiveStartTime(liveStartTime);
        oLiveShopApplyAddressPunishEntity.setLiveState(liveState);
        oLiveShopApplyAddressPunishEntity.setLiveStreamName(liveStreamName);
        oLiveShopApplyAddressPunishEntity.setLiveTag(liveTag);
        oLiveShopApplyAddressPunishEntity.setLiveTotallDuration(liveTotallDuration);
        oLiveShopApplyAddressPunishEntity.setLiveTotallPushLength(liveTotallPushLength);
        oLiveShopApplyAddressPunishEntity.setLiveUrl(liveUrl);
        oLiveShopApplyAddressPunishEntity.setLiveUserPush(liveUserPush);
        oLiveShopApplyAddressPunishEntity.setLiveValuation(liveValuation);
        oLiveShopApplyAddressPunishEntity.setLiveWillSave(liveWillSave);
        oLiveShopApplyAddressPunishEntity.setMaxOnlineUserCount(maxOnlineUserCount);
        oLiveShopApplyAddressPunishEntity.setMerchantName(merchantName);
        oLiveShopApplyAddressPunishEntity.setPunishId(punishId);
        oLiveShopApplyAddressPunishEntity.setPunishQuantity(punishQuantity);
        oLiveShopApplyAddressPunishEntity.setPunishTimeEnd(punishTimeEnd);
        oLiveShopApplyAddressPunishEntity.setPunishTimeStart(punishTimeStart);
        oLiveShopApplyAddressPunishEntity.setPunishType(punishType);
        oLiveShopApplyAddressPunishEntity.setPunishUnit(punishUnit);
        oLiveShopApplyAddressPunishEntity.setPushAuth(pushAuth);
        oLiveShopApplyAddressPunishEntity.setPushEndServerTime(pushEndServerTime);
        oLiveShopApplyAddressPunishEntity.setPushEndTime(pushEndTime);
        oLiveShopApplyAddressPunishEntity.setPushStartServerTime(pushStartServerTime);
        oLiveShopApplyAddressPunishEntity.setPushStartTime(pushStartTime);
        oLiveShopApplyAddressPunishEntity.setPushUrl(pushUrl);
        oLiveShopApplyAddressPunishEntity.setShopId(shopId);
        oLiveShopApplyAddressPunishEntity.setShopName(shopName);
        oLiveShopApplyAddressPunishEntity.setShopUserId(shopUserId);
        oLiveShopApplyAddressPunishEntity.setShopUserName(shopUserName);
        oLiveShopApplyAddressPunishEntity.setUpdateTime(updateTime);
        oLiveShopApplyAddressPunishEntity.setViolationId(violationId);
        oLiveShopApplyAddressPunishEntity.setViolationReson(violationReson);
        oLiveShopApplyAddressPunishEntity.setWatchDuration(watchDuration);
        oLiveShopApplyAddressPunishEntity.setWatchNumber(watchNumber);
        oLiveShopApplyAddressPunishEntity.setWatchStreamLength(watchStreamLength);
        oLiveShopApplyAddressPunishEntity.setWatchUserCount(watchUserCount);
        oLiveShopApplyAddressPunishEntity.setWatchUserPayRate(watchUserPayRate);
        return oLiveShopApplyAddressPunishEntity;
    }
}

